/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package occho.model;

import java.util.List;

/**
 *
 * @author Jorge
 */
public class Asignatura {
    
    private int idAsignatura;
    private String nombre;
    private List<Tema> temas;
    private List<Test> tests;
    
    /**
     * Constructor de la clase.
     */
    public Asignatura() {
        
    }
    
    /**
     * Constructor de la clase.
     * @param idAsignatura
     * @param nombre
     * @param temas
     * @param tests
     */
    public Asignatura(int idAsignatura, String nombre, List<Tema> temas, 
            List<Test> tests) {
        this.idAsignatura = idAsignatura;
        this.nombre = nombre;
        this.temas = temas;
        this.tests = tests;
    }

    /**
     * Constructor de la clase.
     * @param idAsignatura
     * @param nombre
     * @param temas
     */
    public Asignatura(int idAsignatura, String nombre, List<Tema> temas) {
        this.idAsignatura = idAsignatura;
        this.nombre = nombre;
        this.temas = temas;
    }
    /**
     * @return the idAsignatura
     */
    public int getIdAsignatura() {
        return idAsignatura;
    }

    /**
     * @param idAsignatura the idAsignatura to set
     */
    public void setIdAsignatura(int idAsignatura) {
        this.idAsignatura = idAsignatura;
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * @return the temas
     */
    public List<Tema> getTemas() {
        return temas;
    }

    /**
     * @param temas the temas to set
     */
    public void setTemas(List<Tema> temas) {
        this.temas = temas;
    }

    /**
     * @return the tests
     */
    public List<Test> getTests() {
        return tests;
    }

    /**
     * @param tests the tests to set
     */
    public void setTests(List<Test> tests) {
        this.tests = tests;
    }
    
    /**
     * Devuelve la nota media de la asignatura
     * @return float
     */
    public float getNotaMedia() {
        float notas = 0;
        for (Test t : tests) {
            notas += t.getNota();
        }
        return notas/tests.size();
    }
    
    @Override
    public String toString(){
        return this.nombre;
    }
}
